import hashlib
import time

import allure
import pymysql


class Tools:
    def __init__(self,huihua,hostip='114.132.200.42',hostport='81'):
        self.hosturl = f'http://{hostip}:{hostport}'
        self.huihua = huihua

    def md5(self,text):
        """
        Md5加密 只能加密字符串
        :param text:  需要加密的内容，必须是个字符串
        :return:
        """
        m = hashlib.md5()  # 创建一个 md5加密工具
        m.update(str(text).encode(encoding='utf-8'))
        res = m.hexdigest()  # 生成加密后的内容
        return res

    def mydb(self,text):
        """
        :param text: 传入SQL语句
        :return:data : 返回查询的结果，如果执行不是查询语句，返回 ()
        """
        # 1、用户系统 数据 存入数据库
        db = pymysql.connect(
            user='shop',  # 用户名
            password='PTrHWJeaiP',  # 密码
            host='114.132.200.42',  # 数据库ip
            port=3306,  # 数据库端口
            database="shop",  # 数据库名称
            charset='utf8mb4')  # 字符编码
        # 建立游标 (游标的作用：执行SQL语句，获取查询结果)
        cs = db.cursor()
        # 2、通过 游标 执行SQL
        cs.execute(text)
        # 3、获取查询的结果，如果执行的不是 查询语句，返回 ()
        data = cs.fetchall()
        # 4、对数据进行了 增删改 需要 commit 提交 或者 rollback 撤销、回滚
        db.commit()
        # 关闭连接
        db.close()
        return data

    # def img(self):
    #     title = time.strftime('%Y_%m_%d_%H_%M_%S')
    #     # 截图、附加在测试报告中
    #     allure.attach(self.huihua.get_screenshot_as_png(),title,allure.attachment_type.PNG)
